package com.ecarx.module_log;

import com.ecarx.library_base.usb.UDiskDevice;

import java.util.List;

public interface LogControlViewCallback {

    /**
     * U盘数量改变回调
     *
     * @param isAdd
     * @param uDiskDeviceList
     */
    void onUsbChanged(boolean isAdd, List<UDiskDevice> uDiskDeviceList);

    /**
     * 改变蓝牙日志开关状态
     */
    void changBtRecordState();

    /**
     * 改变AP日志开关状态
     *
     * @param isRecording
     */
    void changApRecordState(boolean isRecording);

    /**
     * 改变网络日志开关状态
     *
     * @param isRecording
     */
    void changNetRecordState(boolean isRecording);

    /**
     * socket连接失败
     */
    void socketConnectFail();

    /**
     * 清理socket连接失败
     */
    void cleanSocketConnectFail();

    /**
     * 完成日志清理
     *
     * @param cleanSuccess
     */
    void cleanLogFinish(boolean cleanSuccess);

    /**
     * 开始日志清理
     */
    void startCleanLog();

    /**
     * 导出中不支持清理
     */
    void unSupportCleanIsLogExporting(); //

    /**
     * 清理中不支持再次清理
     */
    void unSupportcleanIsLogCleaning();  //

    /**
     * 没有U盘
     */
    void noUDiskNotice();   //

    /**
     * 不支持导出
     */
    void unSupportExport();  //

    /**
     * 开始设置其他OS系统日志等级
     */
    void startSetGuestOSLevel();  //

    /**
     * 开始日志导出
     */
    void startLogExport();     //

    /**
     * 日志导出完成
     *
     * @param success
     */
    void finishLogExport(boolean success);//

    /**
     * 设置选中UXOS日志等级
     *
     * @param index
     */
    void setUXOSLevelDataAndIndex(int index);//

    /**
     * 设置选中GuestOS日志等级
     *
     * @param index
     */
    void setGuestOSLevelData(int index);

    /**
     * 设置显示第几个OS操作类型
     *
     * @param index
     */
    void setControllerOSIndex(int index);

    /**
     * 设置显示第几个日志导出类型
     *
     * @param index
     */
    void setLogOutOSIndex(int index);

    /**
     * 设置显示第几个日志清理类型
     *
     * @param index
     */
    void setLogCleanOSIndex(int index);

    /**
     * 清理其他日志OS
     * @param success
     */
    void cleanGuestLogFinish(boolean success);


}
